Real-Time Scheduling Algorithms
نویسنده
چکیده
Real-time systems play an important role in our modern society. They are used in critical control systems that rely on timely response and computed results to function properly. This paper summarizes to an extent the state of real-time systems in the area of scheduling. A vast amount of work that has been done in the area of real-time scheduling by both the operations research and the computer science communities. While concerning ourselves with the scheduling requirements and methodologies of a real-time application, we observe that it is fundamentally different from a non time-constrained time-sharing application. The difference arises in the methods used for scheduling the tasks and the system support that is necessary for such an implementation. In this paper, we will consider the various issues that typify real-time scheduling. We discuss two major algorithms that forms a baseline for all scheduling approaches and we present a real-time implementation of such a system. Real-time systems differ from non-real-time systems in that they react to events of the physical world within a certain duration of time. Such a real-time system monitors and controls external processes, and must react to changes in a timely fashion, sometimes in the order of milliseconds. For simple enough processes the response is quick enough, but for many real-time systems that are more complex, a sophisticated coordination is required and rapid response to events becomes challenging. This motivates the study of methods to schedule various real-time events[1] so that time critical events are processed and responses are available to these real-time systems. These responses are critical because failure to respond to such events might result in failure of the system leading to loss of life and property. Two important properties of a task are the nature of the deadline and the arrival characteristics. The task arrival may be periodic with a constant interval, or the task may be stastically distributed and the inter-arrival time may be random in nature. The important requirement is that a time constrained task should be completed before the deadline set for that task expires. Depending on the real-time system, the nature of the deadline maybe different. Tasks with hard deadlines must be completed before the specified time. If the deadline is missed, the utility of execution for such a task in nil. A hard deadline[1] that is missed results in a failure of the system, depending on the task. On the other hand, tasks that gradually degrade with the deadline are called soft deadlines[16]. Such tasks impose a more flexible restriction on the scheduler and missing deadlines will not cause a catastrophic failure[1]. In this paper, we are concerned with abstract timing requirements in a hard-real-time environment, and the different ways of mapping these requirements to tasks with timing constraints. The methods for scheduling based on the task, and the mechanisms for scheduling such tasks in a real-time kernel are discussed. In Section 2 we discuss the classic scheduling algorithms in a multiprogramming system. Section 3 gives us additional information about the nature of real-time scheduling and some of the problems associated with priority inversions, Section 4 delineates some of the solutions to resource reclaiming which is shown to improve the utilization of the CPU. Section 5 introduces us to the concept of designing compilers for realtime systems with some introduction to the task ordering that is carried out in such applications. In Section 6 we discuss the implementation of a real-time system; Mach. We finally conclude with discussion in Section 7 and Section 8. 2. Scheduling Algorithms: Early work was carried out by Liu and Layland[2] who presented scheduling algorithms for fixed and dynamic tasks. The rate monotonic algorithm was shown to be useful for fixed priority tasks, and the earliest-deadline-first and minimum laxity first algorithms was proved to be useful for dynamically changing tasks. This gives us a broad classification of scheduling algorithms namely: static priority [2] and dynamic priority scheduling[2]. In all the related work that followed, the above algorithms were the basis for further optimization. 2.1 Rate Monotonic Algorithm (RM) This is a fixed priority algorithm[2] and follows the philosophy that higher priority is given to tasks with the higher frequencies. Likewise, the lower priority is assigned to tasks with the lower frequencies. The scheduler at any time always choose the highest priority task for execution. By approximating to a reliable degree the execution times and the time that it takes for system handling functions, the behavior of the system can be determined apriori. The rate monotonic algorithm[2, 7, 9] can successfully schedule tasks in a static priority environment but it has bound of less that 100% efficiency. The CPU utilization of tasks τi where 1 ≤ i ≤ n, is computed as the ratio of worst case computing time Ci to the time period Ti. The total utilization of the CPU is computed as follows[2]:
منابع مشابه
Real-time Scheduling of a Flexible Manufacturing System using a Two-phase Machine Learning Algorithm
The static and analytic scheduling approach is very difficult to follow and is not always applicable in real-time. Most of the scheduling algorithms are designed to be established in offline environment. However, we are challenged with three characteristics in real cases: First, problem data of jobs are not known in advance. Second, most of the shop’s parameters tend to be stochastic. Third, th...
متن کاملAn Efficient Genetic Algorithm for Task Scheduling on Heterogeneous Computing Systems Based on TRIZ
An efficient assignment and scheduling of tasks is one of the key elements in effective utilization of heterogeneous multiprocessor systems. The task scheduling problem has been proven to be NP-hard is the reason why we used meta-heuristic methods for finding a suboptimal schedule. In this paper we proposed a new approach using TRIZ (specially 40 inventive principles). The basic idea of thi...
متن کاملAn Efficient Genetic Algorithm for Task Scheduling on Heterogeneous Computing Systems Based on TRIZ
An efficient assignment and scheduling of tasks is one of the key elements in effective utilization of heterogeneous multiprocessor systems. The task scheduling problem has been proven to be NP-hard is the reason why we used meta-heuristic methods for finding a suboptimal schedule. In this paper we proposed a new approach using TRIZ (specially 40 inventive principles). The basic idea of thi...
متن کاملIntegrated capacitated transportation and production scheduling problem in a fuzzy environment
Nowadays, several methods in production management mainly focus on the different partners of supply chain management. In real world, the capacity of planes is limited. In addition, the recent decade has seen the rapid development of controlling the uncertainty in the production scheduling configurations along with proposing novel solution approaches. This paper proposes a new mathematical model...
متن کاملارزیابی سیاستهای زمانبندی در نسل چهارم شبکههای سلولی (LTE)
New generation of wireless networks, LTE and WiMAX, supports many services which consume a lot of resources (such as VOIP, Video Conference, Digital Video, Multimedia streams and online Multi-player Games). Supporting multi-media services in wireless communication systems provide new resource allocation challenges. Because of high loads in downlink, efficient resource allocation is vital in dow...
متن کاملOperating Room Scheduling Considering Patient Priorities and Operating Room Preferences: A Case Study
Operating rooms have become the most important areas in hospitals because of the scarcity and cost of resources. The present study investigates operating room scheduling and rescheduling considering the priority of surgical patients in a specialized hospital. The ultimate purpose of scheduling is to minimize patient waiting time, surgeon idle time between surgeries, and penalties for deviations...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002